Incremental Algorithm for Maintaining DFS Tree for Undirected Graphs
نویسندگان
چکیده
Depth First Search (DFS) tree is a fundamental data structure for graphs used in solving various algorithmic problems. However, very few results are known for maintaining DFS tree in a dynamic environment insertion or deletion of edges. The only non-trivial result for this problem is by Franciosa et al. [4]. They showed that, for a directed acyclic graph on n vertices, a DFS tree can be maintained in O(n) amortized time per edge insertion. They stated it as an open problem to maintain a DFS tree dynamically in an undirected graph or general directed graph. We present the first algorithm for maintaining a DFS tree for an undirected graph under insertion of edges. For processing any arbitrary online sequence of edge insertions, this algorithm takes total O(n) time.
منابع مشابه
Incremental DFS algorithms: a theoretical and experimental study
Depth First Search (DFS) tree is a fundamental data structure used for solving various graph problems. For a given graph G = (V,E) on n vertices and m edges, a DFS tree can be built in O(m + n) time. In the last 20 years, a few algorithms have been designed for maintaining a DFS tree efficiently under insertion of edges. For undirected graphs, there are two prominent algorithms, namely, ADFS1 a...
متن کاملDynamic DFS in Undirected Graphs: breaking the O(m) barrier
Given an undirected graph G = (V, E) on n vertices and m edges, we address the problem of maintaining a DFS tree when the graph is undergoing updates (insertion and deletion of vertices or edges). We present the following results for this problem. 1. Fault tolerant DFS tree: There exists a data structure of size˜O(m) 1 such that given any set F of failed vertices or edges, a DFS tree of the gra...
متن کاملImproved Algorithms for Maintaining DFS Tree in Undirected Graphs
Depth first search (DFS) tree is one of the most well-known data structures for designing efficient graph algorithms. Given an undirected graph G = (V,E) with n vertices and m edges, the textbook algorithm takes O(n + m) time to construct a DFS tree. In this paper, we study the problem of maintaining a DFS tree when the graph is undergoing updates. Formally, we show the following results. • Inc...
متن کاملOn Dynamic DFS Tree in Directed Graphs
Let G = (V,E) be a directed graph on n vertices and m edges. We address the problem of maintaining a depth first search (DFS) tree efficiently under insertion/deletion of edges in G. 1. We present an efficient randomized decremental algorithm for maintaining a DFS tree for a directed acyclic graph. For processing any arbitrary online sequence of edge deletions, this algorithm takes expected O(m...
متن کاملDynamic DFS Tree in Undirected Graphs: breaking the O(m) barrier
Depth first search (DFS) tree is a fundamental data structure for solving various problems in graphs. It is well known that it takes O(m+ n) time to build a DFS tree for a given undirected graph G = (V,E) on n vertices and m edges. We address the problem of maintaining a DFS tree when the graph is undergoing updates (insertion and deletion of vertices or edges). We present the following results...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014